This invention relates to a rechargeable device and a method for detecting a Universal Serial Bus (USB) port type when the rechargeable device is connected to a USB port.
The universal serial bus (USB) standard and its supplements define a bus and protocols that facilitate an exchange of data and, additionally or alternatively, of power between devices. The USB bus is a four wire interface with a differential pair (D+ and D− lines) for data, a ground line and a voltage line (VBUS).
The battery charging specification of the USB 2.0 standard defines different types of ports, namely: (i) a standard host that is primarily used for data transfer, having limited charging capacity due to current limits imposed by USB specifications (ii) a charging host that can be used for data transfer as well as a fully capable charger with up to 1.5 A current useable for charging, and (iii) a dedicated charger with up to 1.8 A current used only for charging a power supply of a portable device with no data transfer.
A rechargeable device may detect when it is attached to a USB port, that is, physically connected to the port. A supply voltage, for example, a 5V supply voltage may become available to the rechargeable device via a voltage contact. Prior art USB port type detection methods do not differentiate between the standard host, charging host, and dedicated charger until a USB controller of the rechargeable device has applied a pull-up on the positive data (D+) line. The USB controller is a link layer entity. Thus, the link layer and the physical layer of the rechargeable device must be turned on (powered up) in order to apply the pull-up on the D+ line. However, if the chargeable device has a dead battery or very little power, it may not be able to properly power up the USB controller, which could cause the rechargeable device to lock-up.
In order to conserve power, improve the time required to charge a chargeable device, and prevent device lock-up, it would be advantageous to be able to determine the USB port type prior to powering up the USB controller.